\section{fsm\+\_\+pdo.\+c File Reference}
\label{fsm__pdo_8c}\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}


Ether\+C\+AT P\+DO configuration state machine.  


\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+state\+\_\+start} (\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$fsm, \textbf{ ec\+\_\+datagram\+\_\+t} $\ast$datagram)
\begin{DoxyCompactList}\small\item\em Start reading P\+DO assignment. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+state\+\_\+pdo\+\_\+count} (\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$fsm, \textbf{ ec\+\_\+datagram\+\_\+t} $\ast$datagram)
\begin{DoxyCompactList}\small\item\em Count assigned P\+D\+Os. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+state\+\_\+pdo} (\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$fsm, \textbf{ ec\+\_\+datagram\+\_\+t} $\ast$datagram)
\begin{DoxyCompactList}\small\item\em Fetch P\+DO information. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+state\+\_\+pdo\+\_\+entries} (\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$fsm, \textbf{ ec\+\_\+datagram\+\_\+t} $\ast$datagram)
\begin{DoxyCompactList}\small\item\em Fetch P\+DO information. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+action\+\_\+next\+\_\+sync} (\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$fsm, \textbf{ ec\+\_\+datagram\+\_\+t} $\ast$datagram)
\begin{DoxyCompactList}\small\item\em Read P\+DO assignment of next sync manager. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+action\+\_\+next\+\_\+pdo} (\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$fsm, \textbf{ ec\+\_\+datagram\+\_\+t} $\ast$datagram)
\begin{DoxyCompactList}\small\item\em Read next P\+DO. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+start} (\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$fsm, \textbf{ ec\+\_\+datagram\+\_\+t} $\ast$datagram)
\begin{DoxyCompactList}\small\item\em Start P\+DO configuration. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+read\+\_\+mapping} (\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$fsm, \textbf{ ec\+\_\+datagram\+\_\+t} $\ast$datagram)
\begin{DoxyCompactList}\small\item\em Execute the P\+DO entry state machine to read the current P\+DO\textquotesingle{}s mapping. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+mapping} (\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$fsm, \textbf{ ec\+\_\+datagram\+\_\+t} $\ast$datagram)
\begin{DoxyCompactList}\small\item\em Let the P\+DO entry state machine configure the current P\+DO\textquotesingle{}s mapping. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+zero\+\_\+pdo\+\_\+count} (\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$fsm, \textbf{ ec\+\_\+datagram\+\_\+t} $\ast$datagram)
\begin{DoxyCompactList}\small\item\em Set the number of assigned P\+D\+Os to zero. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+assign\+\_\+pdo} (\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$fsm, \textbf{ ec\+\_\+datagram\+\_\+t} $\ast$datagram)
\begin{DoxyCompactList}\small\item\em Add a P\+DO to the sync managers P\+DO assignment. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+set\+\_\+pdo\+\_\+count} (\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$fsm, \textbf{ ec\+\_\+datagram\+\_\+t} $\ast$datagram)
\begin{DoxyCompactList}\small\item\em Set the number of assigned P\+D\+Os. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+next\+\_\+sync} (\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$fsm, \textbf{ ec\+\_\+datagram\+\_\+t} $\ast$datagram)
\begin{DoxyCompactList}\small\item\em Get the next sync manager for a pdo configuration. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+pdo\+\_\+mapping} (\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$fsm, \textbf{ ec\+\_\+datagram\+\_\+t} $\ast$datagram)
\begin{DoxyCompactList}\small\item\em Check if the mapping has to be read, otherwise start to configure it. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+check\+\_\+mapping} (\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$fsm, \textbf{ ec\+\_\+datagram\+\_\+t} $\ast$datagram)
\begin{DoxyCompactList}\small\item\em Check if the mapping has to be re-\/configured. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+next\+\_\+pdo\+\_\+mapping} (\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$fsm, \textbf{ ec\+\_\+datagram\+\_\+t} $\ast$datagram)
\begin{DoxyCompactList}\small\item\em Check mapping of next P\+DO, otherwise configure assignment. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+check\+\_\+assignment} (\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$fsm, \textbf{ ec\+\_\+datagram\+\_\+t} $\ast$datagram)
\begin{DoxyCompactList}\small\item\em Check if the P\+DO assignment of the current SM has to be re-\/configured. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+assign\+\_\+pdo} (\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$fsm, \textbf{ ec\+\_\+datagram\+\_\+t} $\ast$datagram)
\begin{DoxyCompactList}\small\item\em Assign a P\+DO. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+state\+\_\+end} (\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$fsm, \textbf{ ec\+\_\+datagram\+\_\+t} $\ast$datagram)
\begin{DoxyCompactList}\small\item\em State\+: E\+ND. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+state\+\_\+error} (\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$fsm, \textbf{ ec\+\_\+datagram\+\_\+t} $\ast$datagram)
\begin{DoxyCompactList}\small\item\em State\+: E\+R\+R\+OR. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+init} (\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$fsm, \textbf{ ec\+\_\+fsm\+\_\+coe\+\_\+t} $\ast$fsm\+\_\+coe)
\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+clear} (\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$fsm)
\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+print} (\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$fsm)
\begin{DoxyCompactList}\small\item\em Print the current and desired P\+DO assignment. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+start\+\_\+reading} (\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$fsm, \textbf{ ec\+\_\+slave\+\_\+t} $\ast$slave)
\begin{DoxyCompactList}\small\item\em Start reading the P\+DO configuration. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+start\+\_\+configuration} (\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$fsm, \textbf{ ec\+\_\+slave\+\_\+t} $\ast$slave)
\begin{DoxyCompactList}\small\item\em Start writing the P\+DO configuration. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+running} (const \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$fsm)
\begin{DoxyCompactList}\small\item\em Get running state. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+exec} (\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$fsm, \textbf{ ec\+\_\+datagram\+\_\+t} $\ast$datagram)
\begin{DoxyCompactList}\small\item\em Executes the current state of the state machine. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+success} (const \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$fsm)
\begin{DoxyCompactList}\small\item\em Get execution result. \end{DoxyCompactList}\item 
\textbf{ ec\+\_\+pdo\+\_\+t} $\ast$ \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+next\+\_\+pdo} (const \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$fsm, const struct list\+\_\+head $\ast$list)
\begin{DoxyCompactList}\small\item\em Assign next P\+DO. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Ether\+C\+AT P\+DO configuration state machine. 



\subsection{Function Documentation}
\mbox{\label{fsm__pdo_8c_a3400d841b7b7dc298c0d2698a910d063}} 
\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}!ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+state\+\_\+start@{ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+state\+\_\+start}}
\index{ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+state\+\_\+start@{ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+state\+\_\+start}!fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}
\subsubsection{ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+state\+\_\+start()}
{\footnotesize\ttfamily void ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+state\+\_\+start (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$}]{fsm,  }\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram }\end{DoxyParamCaption})}



Start reading P\+DO assignment. 


\begin{DoxyParams}{Parameters}
{\em fsm} & Finite state machine. \\
\hline
{\em datagram} & Datagram to use. \\
\hline
\end{DoxyParams}


Definition at line 193 of file fsm\+\_\+pdo.\+c.

\mbox{\label{fsm__pdo_8c_a2bc12f676c54517fbedcc0d1dfd1641e}} 
\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}!ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+state\+\_\+pdo\+\_\+count@{ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+state\+\_\+pdo\+\_\+count}}
\index{ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+state\+\_\+pdo\+\_\+count@{ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+state\+\_\+pdo\+\_\+count}!fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}
\subsubsection{ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+state\+\_\+pdo\+\_\+count()}
{\footnotesize\ttfamily void ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+state\+\_\+pdo\+\_\+count (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$}]{fsm,  }\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram }\end{DoxyParamCaption})}



Count assigned P\+D\+Os. 


\begin{DoxyParams}{Parameters}
{\em fsm} & Finite state machine. \\
\hline
{\em datagram} & Datagram to use. \\
\hline
\end{DoxyParams}


Definition at line 243 of file fsm\+\_\+pdo.\+c.

\mbox{\label{fsm__pdo_8c_a3d1b9fe3c9f3e7885347faaf09bcf1e1}} 
\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}!ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+state\+\_\+pdo@{ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+state\+\_\+pdo}}
\index{ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+state\+\_\+pdo@{ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+state\+\_\+pdo}!fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}
\subsubsection{ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+state\+\_\+pdo()}
{\footnotesize\ttfamily void ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+state\+\_\+pdo (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$}]{fsm,  }\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram }\end{DoxyParamCaption})}



Fetch P\+DO information. 


\begin{DoxyParams}{Parameters}
{\em fsm} & Finite state machine. \\
\hline
{\em datagram} & Datagram to use. \\
\hline
\end{DoxyParams}


Definition at line 307 of file fsm\+\_\+pdo.\+c.

\mbox{\label{fsm__pdo_8c_a6676f274857f9bd450f5f74053d79eff}} 
\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}!ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+state\+\_\+pdo\+\_\+entries@{ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+state\+\_\+pdo\+\_\+entries}}
\index{ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+state\+\_\+pdo\+\_\+entries@{ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+state\+\_\+pdo\+\_\+entries}!fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}
\subsubsection{ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+state\+\_\+pdo\+\_\+entries()}
{\footnotesize\ttfamily void ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+state\+\_\+pdo\+\_\+entries (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$}]{fsm,  }\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram }\end{DoxyParamCaption})}



Fetch P\+DO information. 


\begin{DoxyParams}{Parameters}
{\em fsm} & Finite state machine. \\
\hline
{\em datagram} & Datagram to use. \\
\hline
\end{DoxyParams}


Definition at line 356 of file fsm\+\_\+pdo.\+c.

\mbox{\label{fsm__pdo_8c_a57102882d5e4eb7eee83ff7cc6bd0c50}} 
\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}!ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+action\+\_\+next\+\_\+sync@{ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+action\+\_\+next\+\_\+sync}}
\index{ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+action\+\_\+next\+\_\+sync@{ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+action\+\_\+next\+\_\+sync}!fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}
\subsubsection{ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+action\+\_\+next\+\_\+sync()}
{\footnotesize\ttfamily void ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+action\+\_\+next\+\_\+sync (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$}]{fsm,  }\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram }\end{DoxyParamCaption})}



Read P\+DO assignment of next sync manager. 


\begin{DoxyParams}{Parameters}
{\em fsm} & finite state machine. \\
\hline
{\em datagram} & Datagram to use. \\
\hline
\end{DoxyParams}


Definition at line 207 of file fsm\+\_\+pdo.\+c.

\mbox{\label{fsm__pdo_8c_a42248b22b855e24ed26eda0062138c37}} 
\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}!ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+action\+\_\+next\+\_\+pdo@{ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+action\+\_\+next\+\_\+pdo}}
\index{ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+action\+\_\+next\+\_\+pdo@{ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+action\+\_\+next\+\_\+pdo}!fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}
\subsubsection{ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+action\+\_\+next\+\_\+pdo()}
{\footnotesize\ttfamily void ec\+\_\+fsm\+\_\+pdo\+\_\+read\+\_\+action\+\_\+next\+\_\+pdo (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$}]{fsm,  }\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram }\end{DoxyParamCaption})}



Read next P\+DO. 


\begin{DoxyParams}{Parameters}
{\em fsm} & Finite state machine. \\
\hline
{\em datagram} & Datagram to use. \\
\hline
\end{DoxyParams}


Definition at line 279 of file fsm\+\_\+pdo.\+c.

\mbox{\label{fsm__pdo_8c_ae431cbfd699fdf7e875a347a771adc2a}} 
\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}!ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+start@{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+start}}
\index{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+start@{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+start}!fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}
\subsubsection{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+start()}
{\footnotesize\ttfamily void ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+start (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$}]{fsm,  }\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram }\end{DoxyParamCaption})}



Start P\+DO configuration. 


\begin{DoxyParams}{Parameters}
{\em fsm} & Finite state machine. \\
\hline
{\em datagram} & Datagram to use. \\
\hline
\end{DoxyParams}


Definition at line 383 of file fsm\+\_\+pdo.\+c.

\mbox{\label{fsm__pdo_8c_a86d7941eeb21995e622dc8fc910107c4}} 
\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}!ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+read\+\_\+mapping@{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+read\+\_\+mapping}}
\index{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+read\+\_\+mapping@{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+read\+\_\+mapping}!fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}
\subsubsection{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+read\+\_\+mapping()}
{\footnotesize\ttfamily void ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+read\+\_\+mapping (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$}]{fsm,  }\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram }\end{DoxyParamCaption})}



Execute the P\+DO entry state machine to read the current P\+DO\textquotesingle{}s mapping. 


\begin{DoxyParams}{Parameters}
{\em fsm} & Finite state machine. \\
\hline
{\em datagram} & Datagram to use. \\
\hline
\end{DoxyParams}


Definition at line 502 of file fsm\+\_\+pdo.\+c.

\mbox{\label{fsm__pdo_8c_a6de72a51b22c6d2aa98f0aa1f23a30bc}} 
\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}!ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+mapping@{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+mapping}}
\index{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+mapping@{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+mapping}!fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}
\subsubsection{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+mapping()}
{\footnotesize\ttfamily void ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+mapping (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$}]{fsm,  }\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram }\end{DoxyParamCaption})}



Let the P\+DO entry state machine configure the current P\+DO\textquotesingle{}s mapping. 


\begin{DoxyParams}{Parameters}
{\em fsm} & Finite state machine. \\
\hline
{\em datagram} & Datagram to use. \\
\hline
\end{DoxyParams}


Definition at line 561 of file fsm\+\_\+pdo.\+c.

\mbox{\label{fsm__pdo_8c_a61d6727b2003591ecc4d493312321028}} 
\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}!ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+zero\+\_\+pdo\+\_\+count@{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+zero\+\_\+pdo\+\_\+count}}
\index{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+zero\+\_\+pdo\+\_\+count@{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+zero\+\_\+pdo\+\_\+count}!fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}
\subsubsection{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+zero\+\_\+pdo\+\_\+count()}
{\footnotesize\ttfamily void ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+zero\+\_\+pdo\+\_\+count (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$}]{fsm,  }\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram }\end{DoxyParamCaption})}



Set the number of assigned P\+D\+Os to zero. 


\begin{DoxyParams}{Parameters}
{\em fsm} & Finite state machine. \\
\hline
{\em datagram} & Datagram to use. \\
\hline
\end{DoxyParams}


Definition at line 648 of file fsm\+\_\+pdo.\+c.

\mbox{\label{fsm__pdo_8c_a9a09b501ea734575d8761766f7a2c798}} 
\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}!ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+assign\+\_\+pdo@{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+assign\+\_\+pdo}}
\index{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+assign\+\_\+pdo@{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+assign\+\_\+pdo}!fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}
\subsubsection{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+assign\+\_\+pdo()}
{\footnotesize\ttfamily void ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+assign\+\_\+pdo (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$}]{fsm,  }\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram }\end{DoxyParamCaption})}



Add a P\+DO to the sync managers P\+DO assignment. 


\begin{DoxyParams}{Parameters}
{\em fsm} & Finite state machine. \\
\hline
{\em datagram} & Datagram to use. \\
\hline
\end{DoxyParams}


Definition at line 710 of file fsm\+\_\+pdo.\+c.

\mbox{\label{fsm__pdo_8c_a9a9154e743c691ee85355e155ae0f8ff}} 
\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}!ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+set\+\_\+pdo\+\_\+count@{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+set\+\_\+pdo\+\_\+count}}
\index{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+set\+\_\+pdo\+\_\+count@{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+set\+\_\+pdo\+\_\+count}!fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}
\subsubsection{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+set\+\_\+pdo\+\_\+count()}
{\footnotesize\ttfamily void ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+state\+\_\+set\+\_\+pdo\+\_\+count (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$}]{fsm,  }\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram }\end{DoxyParamCaption})}



Set the number of assigned P\+D\+Os. 


\begin{DoxyParams}{Parameters}
{\em fsm} & Finite state machine. \\
\hline
{\em datagram} & Datagram to use. \\
\hline
\end{DoxyParams}


Definition at line 755 of file fsm\+\_\+pdo.\+c.

\mbox{\label{fsm__pdo_8c_a33e63b8e6243d3c5c2fa6913c7606a10}} 
\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}!ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+next\+\_\+sync@{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+next\+\_\+sync}}
\index{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+next\+\_\+sync@{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+next\+\_\+sync}!fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}
\subsubsection{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+next\+\_\+sync()}
{\footnotesize\ttfamily void ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+next\+\_\+sync (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$}]{fsm,  }\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram }\end{DoxyParamCaption})}



Get the next sync manager for a pdo configuration. 


\begin{DoxyParams}{Parameters}
{\em fsm} & Finite state machine. \\
\hline
{\em datagram} & Datagram to use. \\
\hline
\end{DoxyParams}


Definition at line 418 of file fsm\+\_\+pdo.\+c.

\mbox{\label{fsm__pdo_8c_a9500b76d61e46b2e6906d21d93eb42b0}} 
\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}!ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+pdo\+\_\+mapping@{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+pdo\+\_\+mapping}}
\index{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+pdo\+\_\+mapping@{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+pdo\+\_\+mapping}!fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}
\subsubsection{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+pdo\+\_\+mapping()}
{\footnotesize\ttfamily void ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+pdo\+\_\+mapping (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$}]{fsm,  }\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram }\end{DoxyParamCaption})}



Check if the mapping has to be read, otherwise start to configure it. 


\begin{DoxyParams}{Parameters}
{\em fsm} & Finite state machine. \\
\hline
{\em datagram} & Datagram to use. \\
\hline
\end{DoxyParams}


Definition at line 467 of file fsm\+\_\+pdo.\+c.

\mbox{\label{fsm__pdo_8c_adf6b32f9717d783f066feb2268317387}} 
\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}!ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+check\+\_\+mapping@{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+check\+\_\+mapping}}
\index{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+check\+\_\+mapping@{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+check\+\_\+mapping}!fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}
\subsubsection{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+check\+\_\+mapping()}
{\footnotesize\ttfamily void ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+check\+\_\+mapping (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$}]{fsm,  }\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram }\end{DoxyParamCaption})}



Check if the mapping has to be re-\/configured. 

\begin{DoxyRefDesc}{Todo}
\item[\textbf{ Todo}]Display mapping differences. \end{DoxyRefDesc}

\begin{DoxyParams}{Parameters}
{\em fsm} & Finite state machine. \\
\hline
{\em datagram} & Datagram to use. \\
\hline
\end{DoxyParams}


Definition at line 526 of file fsm\+\_\+pdo.\+c.

\mbox{\label{fsm__pdo_8c_ac0e2b8e960f8251fd995942684816dfe}} 
\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}!ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+next\+\_\+pdo\+\_\+mapping@{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+next\+\_\+pdo\+\_\+mapping}}
\index{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+next\+\_\+pdo\+\_\+mapping@{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+next\+\_\+pdo\+\_\+mapping}!fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}
\subsubsection{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+next\+\_\+pdo\+\_\+mapping()}
{\footnotesize\ttfamily void ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+next\+\_\+pdo\+\_\+mapping (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$}]{fsm,  }\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram }\end{DoxyParamCaption})}



Check mapping of next P\+DO, otherwise configure assignment. 


\begin{DoxyParams}{Parameters}
{\em fsm} & Finite state machine. \\
\hline
{\em datagram} & Datagram to use. \\
\hline
\end{DoxyParams}


Definition at line 582 of file fsm\+\_\+pdo.\+c.

\mbox{\label{fsm__pdo_8c_a9669ea3ae334cee2b0a76bfa3b540767}} 
\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}!ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+check\+\_\+assignment@{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+check\+\_\+assignment}}
\index{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+check\+\_\+assignment@{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+check\+\_\+assignment}!fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}
\subsubsection{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+check\+\_\+assignment()}
{\footnotesize\ttfamily void ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+check\+\_\+assignment (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$}]{fsm,  }\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram }\end{DoxyParamCaption})}



Check if the P\+DO assignment of the current SM has to be re-\/configured. 


\begin{DoxyParams}{Parameters}
{\em fsm} & Finite state machine. \\
\hline
{\em datagram} & Datagram to use. \\
\hline
\end{DoxyParams}


Definition at line 601 of file fsm\+\_\+pdo.\+c.

\mbox{\label{fsm__pdo_8c_a935c62948338bf55beef8ea894d869a1}} 
\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}!ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+assign\+\_\+pdo@{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+assign\+\_\+pdo}}
\index{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+assign\+\_\+pdo@{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+assign\+\_\+pdo}!fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}
\subsubsection{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+assign\+\_\+pdo()}
{\footnotesize\ttfamily void ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+assign\+\_\+pdo (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$}]{fsm,  }\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram }\end{DoxyParamCaption})}



Assign a P\+DO. 


\begin{DoxyParams}{Parameters}
{\em fsm} & Finite state machine. \\
\hline
{\em datagram} & Datagram to use. \\
\hline
\end{DoxyParams}


Definition at line 687 of file fsm\+\_\+pdo.\+c.

\mbox{\label{fsm__pdo_8c_aa9827b177904c14f4c5ca497233970fd}} 
\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}!ec\+\_\+fsm\+\_\+pdo\+\_\+state\+\_\+end@{ec\+\_\+fsm\+\_\+pdo\+\_\+state\+\_\+end}}
\index{ec\+\_\+fsm\+\_\+pdo\+\_\+state\+\_\+end@{ec\+\_\+fsm\+\_\+pdo\+\_\+state\+\_\+end}!fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}
\subsubsection{ec\+\_\+fsm\+\_\+pdo\+\_\+state\+\_\+end()}
{\footnotesize\ttfamily void ec\+\_\+fsm\+\_\+pdo\+\_\+state\+\_\+end (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$}]{fsm,  }\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram }\end{DoxyParamCaption})}



State\+: E\+ND. 


\begin{DoxyParams}{Parameters}
{\em fsm} & Finite state machine. \\
\hline
{\em datagram} & Datagram to use. \\
\hline
\end{DoxyParams}


Definition at line 799 of file fsm\+\_\+pdo.\+c.

\mbox{\label{fsm__pdo_8c_ab2829ebc2c4e0c0573855457555617be}} 
\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}!ec\+\_\+fsm\+\_\+pdo\+\_\+state\+\_\+error@{ec\+\_\+fsm\+\_\+pdo\+\_\+state\+\_\+error}}
\index{ec\+\_\+fsm\+\_\+pdo\+\_\+state\+\_\+error@{ec\+\_\+fsm\+\_\+pdo\+\_\+state\+\_\+error}!fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}
\subsubsection{ec\+\_\+fsm\+\_\+pdo\+\_\+state\+\_\+error()}
{\footnotesize\ttfamily void ec\+\_\+fsm\+\_\+pdo\+\_\+state\+\_\+error (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$}]{fsm,  }\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram }\end{DoxyParamCaption})}



State\+: E\+R\+R\+OR. 


\begin{DoxyParams}{Parameters}
{\em fsm} & Finite state machine. \\
\hline
{\em datagram} & Datagram to use. \\
\hline
\end{DoxyParams}


Definition at line 788 of file fsm\+\_\+pdo.\+c.

\mbox{\label{fsm__pdo_8c_ac0785235fca5314b2d528ff3cb38ffc3}} 
\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}!ec\+\_\+fsm\+\_\+pdo\+\_\+init@{ec\+\_\+fsm\+\_\+pdo\+\_\+init}}
\index{ec\+\_\+fsm\+\_\+pdo\+\_\+init@{ec\+\_\+fsm\+\_\+pdo\+\_\+init}!fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}
\subsubsection{ec\+\_\+fsm\+\_\+pdo\+\_\+init()}
{\footnotesize\ttfamily void ec\+\_\+fsm\+\_\+pdo\+\_\+init (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$}]{fsm,  }\item[{\textbf{ ec\+\_\+fsm\+\_\+coe\+\_\+t} $\ast$}]{fsm\+\_\+coe }\end{DoxyParamCaption})}



Constructor. 


\begin{DoxyParams}{Parameters}
{\em fsm} & P\+DO configuration state machine. \\
\hline
{\em fsm\+\_\+coe} & CoE state machine to use \\
\hline
\end{DoxyParams}


Definition at line 74 of file fsm\+\_\+pdo.\+c.

\mbox{\label{fsm__pdo_8c_a2a834bb1087c6c89bcebeabd961677a3}} 
\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}!ec\+\_\+fsm\+\_\+pdo\+\_\+clear@{ec\+\_\+fsm\+\_\+pdo\+\_\+clear}}
\index{ec\+\_\+fsm\+\_\+pdo\+\_\+clear@{ec\+\_\+fsm\+\_\+pdo\+\_\+clear}!fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}
\subsubsection{ec\+\_\+fsm\+\_\+pdo\+\_\+clear()}
{\footnotesize\ttfamily void ec\+\_\+fsm\+\_\+pdo\+\_\+clear (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$}]{fsm }\end{DoxyParamCaption})}



Destructor. 


\begin{DoxyParams}{Parameters}
{\em fsm} & P\+DO configuration state machine. \\
\hline
\end{DoxyParams}


Definition at line 90 of file fsm\+\_\+pdo.\+c.

\mbox{\label{fsm__pdo_8c_ab82b16e9e90a718617989b1046a825da}} 
\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}!ec\+\_\+fsm\+\_\+pdo\+\_\+print@{ec\+\_\+fsm\+\_\+pdo\+\_\+print}}
\index{ec\+\_\+fsm\+\_\+pdo\+\_\+print@{ec\+\_\+fsm\+\_\+pdo\+\_\+print}!fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}
\subsubsection{ec\+\_\+fsm\+\_\+pdo\+\_\+print()}
{\footnotesize\ttfamily void ec\+\_\+fsm\+\_\+pdo\+\_\+print (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$}]{fsm }\end{DoxyParamCaption})}



Print the current and desired P\+DO assignment. 


\begin{DoxyParams}{Parameters}
{\em fsm} & P\+DO configuration state machine. \\
\hline
\end{DoxyParams}


Definition at line 104 of file fsm\+\_\+pdo.\+c.

\mbox{\label{fsm__pdo_8c_a38161765844e834ee5c0ed6aeca8321f}} 
\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}!ec\+\_\+fsm\+\_\+pdo\+\_\+start\+\_\+reading@{ec\+\_\+fsm\+\_\+pdo\+\_\+start\+\_\+reading}}
\index{ec\+\_\+fsm\+\_\+pdo\+\_\+start\+\_\+reading@{ec\+\_\+fsm\+\_\+pdo\+\_\+start\+\_\+reading}!fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}
\subsubsection{ec\+\_\+fsm\+\_\+pdo\+\_\+start\+\_\+reading()}
{\footnotesize\ttfamily void ec\+\_\+fsm\+\_\+pdo\+\_\+start\+\_\+reading (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$}]{fsm,  }\item[{\textbf{ ec\+\_\+slave\+\_\+t} $\ast$}]{slave }\end{DoxyParamCaption})}



Start reading the P\+DO configuration. 


\begin{DoxyParams}{Parameters}
{\em fsm} & P\+DO configuration state machine. \\
\hline
{\em slave} & slave to configure \\
\hline
\end{DoxyParams}


Definition at line 119 of file fsm\+\_\+pdo.\+c.

\mbox{\label{fsm__pdo_8c_a45673c0ffcb4f251696b30fc86288253}} 
\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}!ec\+\_\+fsm\+\_\+pdo\+\_\+start\+\_\+configuration@{ec\+\_\+fsm\+\_\+pdo\+\_\+start\+\_\+configuration}}
\index{ec\+\_\+fsm\+\_\+pdo\+\_\+start\+\_\+configuration@{ec\+\_\+fsm\+\_\+pdo\+\_\+start\+\_\+configuration}!fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}
\subsubsection{ec\+\_\+fsm\+\_\+pdo\+\_\+start\+\_\+configuration()}
{\footnotesize\ttfamily void ec\+\_\+fsm\+\_\+pdo\+\_\+start\+\_\+configuration (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$}]{fsm,  }\item[{\textbf{ ec\+\_\+slave\+\_\+t} $\ast$}]{slave }\end{DoxyParamCaption})}



Start writing the P\+DO configuration. 


\begin{DoxyParams}{Parameters}
{\em fsm} & P\+DO configuration state machine. \\
\hline
{\em slave} & slave to configure \\
\hline
\end{DoxyParams}


Definition at line 132 of file fsm\+\_\+pdo.\+c.

\mbox{\label{fsm__pdo_8c_a88ff25e3668c0fa820a93d2e607e0a33}} 
\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}!ec\+\_\+fsm\+\_\+pdo\+\_\+running@{ec\+\_\+fsm\+\_\+pdo\+\_\+running}}
\index{ec\+\_\+fsm\+\_\+pdo\+\_\+running@{ec\+\_\+fsm\+\_\+pdo\+\_\+running}!fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}
\subsubsection{ec\+\_\+fsm\+\_\+pdo\+\_\+running()}
{\footnotesize\ttfamily int ec\+\_\+fsm\+\_\+pdo\+\_\+running (\begin{DoxyParamCaption}\item[{const \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$}]{fsm }\end{DoxyParamCaption})}



Get running state. 

\begin{DoxyReturn}{Returns}
false, if state machine has terminated 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em fsm} & P\+DO configuration state machine. \\
\hline
\end{DoxyParams}


Definition at line 147 of file fsm\+\_\+pdo.\+c.

\mbox{\label{fsm__pdo_8c_ad90d47e84f43b419017a9db1fc75c4cf}} 
\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}!ec\+\_\+fsm\+\_\+pdo\+\_\+exec@{ec\+\_\+fsm\+\_\+pdo\+\_\+exec}}
\index{ec\+\_\+fsm\+\_\+pdo\+\_\+exec@{ec\+\_\+fsm\+\_\+pdo\+\_\+exec}!fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}
\subsubsection{ec\+\_\+fsm\+\_\+pdo\+\_\+exec()}
{\footnotesize\ttfamily int ec\+\_\+fsm\+\_\+pdo\+\_\+exec (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$}]{fsm,  }\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram }\end{DoxyParamCaption})}



Executes the current state of the state machine. 

If the state machine\textquotesingle{}s datagram is not sent or received yet, the execution of the state machine is delayed to the next cycle.

\begin{DoxyReturn}{Returns}
false, if state machine has terminated 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em fsm} & P\+DO configuration state machine. \\
\hline
{\em datagram} & Datagram to use. \\
\hline
\end{DoxyParams}


Definition at line 164 of file fsm\+\_\+pdo.\+c.

\mbox{\label{fsm__pdo_8c_adeb03e520938d50c3adb3b15b8a7801c}} 
\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}!ec\+\_\+fsm\+\_\+pdo\+\_\+success@{ec\+\_\+fsm\+\_\+pdo\+\_\+success}}
\index{ec\+\_\+fsm\+\_\+pdo\+\_\+success@{ec\+\_\+fsm\+\_\+pdo\+\_\+success}!fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}
\subsubsection{ec\+\_\+fsm\+\_\+pdo\+\_\+success()}
{\footnotesize\ttfamily int ec\+\_\+fsm\+\_\+pdo\+\_\+success (\begin{DoxyParamCaption}\item[{const \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$}]{fsm }\end{DoxyParamCaption})}



Get execution result. 

\begin{DoxyReturn}{Returns}
true, if the state machine terminated gracefully 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em fsm} & P\+DO configuration state machine. \\
\hline
\end{DoxyParams}


Definition at line 180 of file fsm\+\_\+pdo.\+c.

\mbox{\label{fsm__pdo_8c_a70621bc4964ac8f972294656425216e7}} 
\index{fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}!ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+next\+\_\+pdo@{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+next\+\_\+pdo}}
\index{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+next\+\_\+pdo@{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+next\+\_\+pdo}!fsm\+\_\+pdo.\+c@{fsm\+\_\+pdo.\+c}}
\subsubsection{ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+next\+\_\+pdo()}
{\footnotesize\ttfamily \textbf{ ec\+\_\+pdo\+\_\+t}$\ast$ ec\+\_\+fsm\+\_\+pdo\+\_\+conf\+\_\+action\+\_\+next\+\_\+pdo (\begin{DoxyParamCaption}\item[{const \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$}]{fsm,  }\item[{const struct list\+\_\+head $\ast$}]{list }\end{DoxyParamCaption})}



Assign next P\+DO. 

\begin{DoxyReturn}{Returns}
Next P\+DO, or N\+U\+LL. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em fsm} & P\+DO configuration state machine. \\
\hline
{\em list} & current P\+DO list item \\
\hline
\end{DoxyParams}


Definition at line 403 of file fsm\+\_\+pdo.\+c.

